<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        //1.JS是什么
        答： JavaScript 是浏览器的编程语言 常用来为网页添加各式各样的动态功能，为用户提供更流畅美观的浏览体验。
          //2.JS的数据类型有哪几种，哪些是简单类型变量，哪些是复杂类型变量，它们有什么区别
    js数据类型有五种 1 数值型（number）2.字符串型（string）3.布尔型（Boolean） 4.空值型(Null) 5.未定义(undefined)
        简单类型：string，number，Boolean，undefined，null
        复杂类型：通过new关键字创建对象，如object、array、date等
        区别：
        1、基本数据类型把数据名和值直接存储在栈当中；
        而复杂数据类型在栈中存储数据名和一个堆的地址，在堆中存储属性及值，访问时先从栈中获取地址，再到堆中拿出相应的值。
        2、基本数据类型作为参数时，函数内部对参数值的修改不会改变外部变量的值；
        复杂数据类型作为参数时，函数内部对参数值的修改会改变外部变量的值。
        //3.用代码来表示具体如何定义JS的各种类型变量
        五大常用知识：字符串、数字、布尔、Undefined、Null /
          三大引用类型：函数、对象、数组
        var str = 123;
        var num = "123";
        var bool = true;
        var message = undefined;
        var car = null;
        var obj = new Object();
        var fn = function () { }
        var arr = new Array();
        //4.undefined和Null的区别
        undefined: 已经声明变量, 但没有赋值；声明变量未对其初始化，表无意义
        Null: 连变量都没有声明, 空值，空的对象，空的对象指针
        //5.script标签写在页面头部和底部，有何区别
        头部：加载页面时，按照文档流的方向读取, 由于JS文件过大, 可能会阻塞文档解析，出现白屏的页面；
        底部：由于JS需要在文档加载完成后才能够去执行，否则可能导致无法获取对象的情况，所以建议放在底部。
        //6.如何保证在页面基本结构和样式加载后，再执行我们的JS脚本
        window.onload = function () {... }
        //7.如何判断一个变量是属于哪种变量类型（字符串、数值、布尔值、Null、undefined、对象、数组、函数）
        console.log(typeof 变量)
        如var arr = [1,2,3];
        console.log(Object.prototype.toString.call(arr));
        console.log(Object.constructor.toString.call(obj).ceil(8, -1))//获取我们想要得到的具体值
        //8.JS的注释写法有哪几种，有何区别
        第一种: "//" 单行注释 可相互嵌套；第二种: / ** / 多行注释 不可嵌套
    
        //9.javascript引入页面有几种形式
        三种:
        1、通过script标签来书写js代码
        <script>
    
          <script>
        2、通过行内书写js
        <div onclick="alert('hello word')" class="box"></div>
        3、通过script的src属性引入外部js文件
        <script src="./js/index.js"></script>   <script src="./js/index.js"></script> 
    
        //10.var 的意义何在
           答：变量声明  影响变量的作业域;
        //11.已知数A与B，由键盘输入AB的值，交换它们的值，并输出。;
        //提示，获取用户输入信息，可以使用 var user_input = prompt("请输入数字");
        < script >
          var A=prompt(30)
          var B=prompt(20)
          var num=A
          B=num
          console.log(A=B)
          console.log(B=num)
          <script>
    
            <script>
    
    
</body>
</html>